JS实现多张图片链接打包成压缩包

这段代码展示了如何使用JavaScript结合JSZip和axios库来批量下载图片,并将它们压缩成ZIP文件供用户下载。点击按钮后,会触发下载过程,将指定的图片URL列表整合到一个ZIP文件中,文件名显示为'images'。
摘要由CSDN通过智能技术生成
<button id="download">下载</button>
<div>正在下载 <span id="download-name"></span></div>

<script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.6.0/jszip.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
  function downloadFile(url, name) {
    let a = document.createElement("a");
    a.href = url;
    a.download = name;
    a.click();
  }

  download.onclick = async function () {
    // 图片链接
    var imgs = [
      "https://img30.360buyimg.com/sku/jfs/t1/207137/8/14365/117601/61caed77E302ec5e6/fc176425c0fc9890.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/220320/17/9185/269476/61cb2178Ee15cea30/d595ce4e8ffce989.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/115954/9/26892/145041/61cb2178E3daea4dd/a9ee4915c4b713d8.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/173342/15/25449/105560/61cb2178E1cb556bb/2c00120d486da6e6.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/141692/40/25167/174706/61cb2178Ee0bffb65/17ef5193de9fb646.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/205586/30/20383/240378/61cb2178E8c8f1151/dfdd91962657b494.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/217308/20/9366/112617/61cb2178E13f4728d/e53301a85b396690.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/113727/10/25907/230547/61cb2178E073efa66/5284dc536abeec34.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/213798/13/9434/98711/61cb2178E3a3bf8b4/1ce14f477fd1778c.jpg",
      "https://img30.360buyimg.com/sku/jfs/t1/144776/2/20883/104830/61cb2178Ebcffd5be/48748e9463601116.jpg",
    ];
    var zip = new JSZip();
    for (let url of imgs) {
      let fileName = url.split("/").pop();
      let { data } = await axios({
        method: "get",
        url,
        responseType: "blob",
      });
      window["download-name"].innerText = fileName;
      zip.file(fileName, data);
    }
    zip.generateAsync({ type: "blob" }).then(function (content) {
      let url = window.URL.createObjectURL(content);
      downloadFile(url, "images");
    });
  };
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值